Repository navigation
Conversation
|
OX Security reviewed this pull request — nothing to fix.
Branch |
Codecov Report✅ All modified and coverable lines are covered by tests. |
|
PR Review: Workflow Dependency LockfileComprehensive review of PR #774 completed according to Aignostics Python SDK standards. ✅ CRITICAL CHECKS — All Passed1. Test MarkersStatus: ✅ N/A 2. Test CoverageStatus: ✅ Pass 3. Code QualityStatus: ✅ Pass
4. Conventional CommitsStatus: ✅ Pass Follows 📋 Repository-Specific Review5. Architecture ComplianceStatus: ✅ N/A 6. Testing StrategyStatus: ✅ N/A 7. Medical Device & SecurityStatus: ✅ SECURITY ENHANCEMENT This PR significantly improves security posture by:
Changes verified: - uses: ./.github/actions/run-tests
+ uses: $/.github/actions/run-testsThe Lockfile structure verified:
8. Breaking ChangesStatus: ✅ None 9. CI/CD ImpactStatus: ✅ Positive Impact Workflows affected (verified by diff):
Both workflows correctly changed all references to the Verification completed:
Future maintenance: 10. Documentation UpdatesStatus: Finding: Recommendation: Add a section to
Suggested location: After the "Workflow layout" section in Example content: ## Workflow Dependency Lockfile
The repository uses `actions.lock` to pin all GitHub Actions (including transitive dependencies) to commit SHAs, meeting organizational security requirements.
**Maintaining the lockfile:**
- Regenerate after adding/modifying actions: `gh actions-lock --no-interactive --migrate-local-actions --no-narrow`
- Verify coverage: `gh actions-lock --verify-local`
- Renovate automatically updates the lockfile in dependency PRs
**Local action syntax:**
Use `uses: $/.github/actions/<name>` (not `uses: ./.github/actions/<name>`) to enable lockfile tracking of actions that your local actions use.
Docs: https://docs.github.com/en/actions/concepts/security/workflow-dependency-lockfiles📊 SummaryBlocking Issues: None ✅ Suggestions:
Overall Assessment:
The changes are clean, well-documented in the PR description, and all automated checks pass. The author has done thorough verification work. Recommendation: ✅ APPROVE with optional documentation enhancement. Verdict: ✅ |



Why
Our org requires every action to be pinned to a full commit SHA. That rule also covers the actions that other actions use inside them (transitive dependencies). We do not control those inner pins: when an upstream action pins one of its own actions to a version tag, our pipeline fails, even when this repo pins everything by SHA. The lockfile records the SHA of every action, also the inner ones, and GitHub accepts it as SHA pinning.
We will soon turn on the org-wide GitHub policy "Require lockfile". After that, a workflow that is not in this lockfile cannot run. Please keep
actions.lockup to date when you change a workflow. Docs: https://docs.github.com/en/actions/concepts/security/workflow-dependency-lockfilesHow
.github/workflows/actions.lock, generated withgh actions-lock --no-interactive --migrate-local-actions --no-narrow(github/gh-actions-lock v0.4.1). Renovate updates the lockfile in its own PRs.uses: ./.github/actions/xtouses: $/.github/actions/x.$/is the GitHub syntax for an action in the same repo at the running commit. The lockfile needs it to lock the actions that a local action uses. The same change ran green on our runners in the dsb repo (PR 246).Docs: https://docs.github.com/actions/concepts/security/workflow-dependency-lockfiles
Verified
gh actions-lock --verify-localpasses: all 28 workflows have complete lockfile coverage.gh actions-lock --verifypasses locally../to$/lines.Not verified